package com.ljf.utility.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ljf.common.model.BasisModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 编译版本表对象  utility_dat_compile_version
 *
 * @author LJF
 * @since 2025-08-30
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("编译版本表")
@EqualsAndHashCode(callSuper = true)
@TableName("utility_dat_compile_version")
public class UtilityDatCompileVersion extends BasisModel {

	private static final long serialVersionUID = 1L;

	/**
	 * Java类型: Long
	 * 数据库类型: bigint
	 * 注释: ID
	 * {@link UtilityDatCompileVersion#COL_ID}
	 */
	@JsonProperty("id")
	@ApiModelProperty(value = "ID")
	@TableId(value="id", type= IdType.AUTO)
	private Long id;

	/**
	 * Java类型: String
	 * 数据库类型: char(9)
	 * 注释: 编码
	 * {@link UtilityDatCompileVersion#COL_CODE}
	 */
	@TableField("code")
	@JsonProperty("code")
	@ApiModelProperty(value = "编码")
	private String code;

	/**
	 * Java类型: Integer
	 * 数据库类型: int
	 * 注释: 版本编码
	 * {@link UtilityDatCompileVersion#COL_VERSION_CODE}
	 */
	@TableField("version_code")
	@JsonProperty("versionCode")
	@ApiModelProperty(value = "版本编码")
	private Integer versionCode;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(20)
	 * 注释: 版本描述
	 * {@link UtilityDatCompileVersion#COL_VERSION_NAME}
	 */
	@TableField("version_name")
	@JsonProperty("versionName")
	@ApiModelProperty(value = "版本描述")
	private String versionName;

	/**
	 * Java类型: Integer
	 * 数据库类型: tinyint
	 * 注释: 激活状态(1:草稿;2:未激活;3:已激活)
	 * {@link UtilityDatCompileVersion#COL_ACTIVATION}
	 * {@link com.ljf.utility.enums.UtilityDatCompileVersionActivationEnum}
	 */
	@TableField("activation")
	@JsonProperty("activation")
	@ApiModelProperty(value = "激活状态")
	private Integer activation;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(500)
	 * 注释: 内容
	 * {@link UtilityDatCompileVersion#COL_CONTENT}
	 */
	@TableField("content")
	@JsonProperty("content")
	@ApiModelProperty(value = "内容")
	private String content;


	/**
	 * ID
	 * {@link UtilityDatCompileVersion#id}
	 */
	public static final String COL_ID = "id";
	/**
	 * 编码
	 * {@link UtilityDatCompileVersion#code}
	 */
	public static final String COL_CODE = "code";
	/**
	 * 版本编码
	 * {@link UtilityDatCompileVersion#versionCode}
	 */
	public static final String COL_VERSION_CODE = "version_code";
	/**
	 * 版本描述
	 * {@link UtilityDatCompileVersion#versionName}
	 */
	public static final String COL_VERSION_NAME = "version_name";
	/**
	 * 激活状态(1:草稿;2:未激活;3:已激活)
	 * {@link UtilityDatCompileVersion#activation}
	 */
	public static final String COL_ACTIVATION = "activation";
	/**
	 * 内容
	 * {@link UtilityDatCompileVersion#content}
	 */
	public static final String COL_CONTENT = "content";

}
